package mymyoux.controls.io.events
{
	import flash.events.Event;
	
	import mymyoux.utils.Hash;
	/**
	 * PartiesCreatorEvent est envoyé par un PartiesCreator lors d'un évènement déclenché par l'acceptation ou le refus de la partie. 
	 * @author Mymyoux
	 * @version 1.0
	 */
	public class PartiesCreatorEvent extends Event
	{
		/**
		 * Evenement envoyé lorsque l'utilisateur valide la partie.
		 */
		static public const ON_VALID:String="valid";
		/**
		 * Evenement envoyé lorsque l'utilisateur annule la partie.
		 */
		static public const ON_CANCEL:String="cancel";
		/**
		 * @private
		 */
		protected var _hash:Hash;
				/**
		 * @private
		 */
		protected var _hashR:Hash;
		/**
		 * Crée un évènement de type PartiesCreatorEvent
		 * @param type Type de l'évènement.
		 * @param hash Hash contenant les informations concernant la partie.
		 * @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. The default value is false.
		 * @param cancelable Determines whether the Event object can be canceled. The default values is false.
		 */
		public function PartiesCreatorEvent(type:String, hashStructure:Hash,hashResult:Hash,bubbles:Boolean=false, cancelable:Boolean=false)
		{
			super(type, bubbles, cancelable);
			_hash=hashStructure;
			_hashR=hashResult;
		}
		/**
		 * HashStructure contient les informations sur la structure de la partie générée par le PartiesCreator.
		 * @see mymyoux.controls.io.PartiesCreator#generateResultHash()
		 */
		public function get hashStructure():Hash{
			return _hash;
		}
		/**
		 * HashResult contient les informations de la partie générées par le PartiesCreator.
		 * @see mymyoux.controls.io.PartiesCreator#generateResultHash()
		 */
		public function get hashResult():Hash{
			return _hashR;
		}
		/**
		 * Annule la validation.
		 * N'a aucun effet si people n'a pas été renseigné.
		 * @see mymyoux.controls.io.PartiesCreator#people
		 */
		public function cancel():void{
			stopImmediatePropagation();
		}
		
	}
}